from PySide6.QtWidgets import QWidget, QVBoxLayout, QTabWidget, QLabel, QTreeView, QSizePolicy
from PySide6.QtCore import Qt, QSize
from PySide6.QtGui import QStandardItemModel, QStandardItem, QIcon
import os
from utility.file_manager import FileManagerTab
from utility.template_manager import TemplateManagerTab
from utility.version_manager import VersionManagerTab

class UtilityPanel(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setObjectName("utility_panel")
        self.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)  # 设置尺寸策略
        self.setup_ui()
        
    def setup_ui(self):
        """初始化辅助功能区UI"""
        layout = QVBoxLayout(self)
        layout.setSpacing(0)
        layout.setContentsMargins(0, 0, 0, 0)  # 设置布局边距为0
        
        # 创建标签页容器
        self.tab_widget = QTabWidget()
        self.tab_widget.setObjectName("utility_tabs")
        self.tab_widget.setElideMode(Qt.TextElideMode.ElideNone)  # 设置文本省略方式为None
        self.tab_widget.setUsesScrollButtons(True) # 启用滚动按钮
        
        # 设置tab_widget的尺寸策略，使其能够自动扩展填充可用空间
        self.tab_widget.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
        
        # 添加版本管理标签页
        # self.version_manager = VersionManagerTab()
        # self.tab_widget.addTab(self.version_manager, "版本管理")

        # 添加模板管理标签页
        self.template_manager = TemplateManagerTab()
        self.tab_widget.addTab(self.template_manager, "模板管理")

        # 添加文件管理标签页
        self.file_manager = FileManagerTab()
        self.tab_widget.addTab(self.file_manager, "文件管理")
        
        layout.addWidget(self.tab_widget)
    
    